﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace proyectoENS
{
    public class DALExamenes
    {
        private static proyectoENSEntities db = new proyectoENSEntities();

        public static List<Materias> getExamenesAprobadosByIdAlumno(int idAlumno)
        {
            var lista = (from e in db.Examenes
                         join m in db.Materias
                         on e.idMateria equals m.idMateria
                         where e.idAlumno == idAlumno
                         && e.calificacion >= 7
                         select m).ToList<Materias>();
            return lista;
        }
        public static bool saveExamen(Examenes unExamen)
        {
            db.Examenes.AddObject(unExamen);
            if (db.SaveChanges() == 1)
                return true;
            else
                return false;
        }
        public static List<Examenes> getExamenesPendientes()
        {
            var lista = (from e in db.Examenes
                         where e.fechaExamen.Value.Year == DateTime.Now.Year
                          && e.calificacion == null
                         select e).ToList<Examenes>();
            return lista;
        }
        public static List<Examenes> getExamenesPendientes(int idAlumno)
        {
            var lista = (from e in db.Examenes
                         where e.calificacion == null &&
                          e.idAlumno == idAlumno
                         select e).ToList<Examenes>();
            return lista;
        }
        public static List<Examenes> getExamenesRendidos(int idAlumno)
        {
            var lista = (from e in db.Examenes
                         where e.fechaExamen.Value.Year == DateTime.Now.Year
                          && e.calificacion != null
                         select e).ToList<Examenes>();
            return lista;
        }
        public static void actualizarExamen(Examenes unExamen)
        {
            db.Examenes.ApplyCurrentValues(unExamen);
            db.SaveChanges();
        }
    }
}
